[INFO] fetching crate async-ecs 0.1.0...
[INFO] fixing async-ecs-0.1.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate async-ecs 0.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate async-ecs 0.1.0
[INFO] finished tweaking crates.io crate async-ecs 0.1.0
[INFO] tweaked toml for crates.io crate async-ecs 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate async-ecs 0.1.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 55 packages to latest compatible versions
[INFO] [stderr]       Adding hashbrown v0.9.1 (available: v0.17.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] [stderr]       Adding tokio v0.3.7 (available: v1.52.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bf70bb12122ba3af4b9f7704732bb106c5a7ca6fbc81ccb506feb7a1e465109c
[INFO] running `Command { std: "docker" "start" "bf70bb12122ba3af4b9f7704732bb106c5a7ca6fbc81ccb506feb7a1e465109c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bf70bb12122ba3af4b9f7704732bb106c5a7ca6fbc81ccb506feb7a1e465109c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf70bb12122ba3af4b9f7704732bb106c5a7ca6fbc81ccb506feb7a1e465109c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bf70bb12122ba3af4b9f7704732bb106c5a7ca6fbc81ccb506feb7a1e465109c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   tokio v0.3.7 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling tokio v0.3.7
[INFO] [stderr]     Checking ahash v0.4.8
[INFO] [stderr]     Checking bytes v0.6.0
[INFO] [stderr]     Checking hibitset v0.6.4
[INFO] [stderr]     Checking asparit v0.1.0
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking mio v0.7.14
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]     Checking parking_lot_core v0.8.6
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v0.3.2
[INFO] [stderr]    Compiling async-ecs-derive v0.1.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking async-ecs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.79s
[INFO] [stderr] crater-edition-check: async-ecs v0.1.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling tokio v0.3.7
[INFO] [stderr]     Checking async-ecs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/resource/cell.rs:122:26
[INFO] [stdout]     |
[INFO] [stdout] 122 |             if self.flag.compare_and_swap(val, val + 1, Ordering::AcqRel) == val {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/resource/cell.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |         self.flag.compare_and_swap(0, usize::MAX, Ordering::AcqRel) == 0
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/resource/cell.rs:122:26
[INFO] [stdout]     |
[INFO] [stdout] 122 |             if self.flag.compare_and_swap(val, val + 1, Ordering::AcqRel) == val {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/resource/cell.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |         self.flag.compare_and_swap(0, usize::MAX, Ordering::AcqRel) == 0
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/dispatcher/mod.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn set(&mut self, world: &World) -> WorldGuard {
[INFO] [stdout]    |            ^^^^^^^^^                    ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn set(&mut self, world: &World) -> WorldGuard<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/entity/entities.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn create_iter(&self) -> CreateIterAtomic {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn create_iter(&self) -> CreateIterAtomic<'_> {
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/entity/entities.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn build_entity(&self) -> AtomicBuilder {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn build_entity(&self) -> AtomicBuilder<'_> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resource/cell.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn borrow(&self) -> Ref<T> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn borrow(&self) -> Ref<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resource/cell.rs:60:23
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn try_borrow(&self) -> Option<Ref<T>> {
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn try_borrow(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resource/cell.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn borrow_mut(&self) -> RefMut<T> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn borrow_mut(&self) -> RefMut<'_, T> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resource/cell.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn try_borrow_mut(&self) -> Option<RefMut<T>> {
[INFO] [stdout]    |                           ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn try_borrow_mut(&self) -> Option<RefMut<'_, T>> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resource/resources.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn entry<R>(&mut self) -> Entry<R>
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn entry<R>(&mut self) -> Entry<'_, R>
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource/resources.rs:130:22
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn borrow<R>(&self) -> Ref<R>
[INFO] [stdout]     |                      ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn borrow<R>(&self) -> Ref<'_, R>
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource/resources.rs:139:26
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn try_borrow<R>(&self) -> Option<Ref<R>>
[INFO] [stdout]     |                          ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn try_borrow<R>(&self) -> Option<Ref<'_, R>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource/resources.rs:157:26
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn borrow_mut<R>(&self) -> RefMut<R>
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn borrow_mut<R>(&self) -> RefMut<'_, R>
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource/resources.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn try_borrow_mut<R>(&self) -> Option<RefMut<R>>
[INFO] [stdout]     |                              ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn try_borrow_mut<R>(&self) -> Option<RefMut<'_, R>>
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/storage_wrapper.rs:138:18
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn drain(&mut self) -> Drain<T> {
[INFO] [stdout]     |                  ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn drain(&mut self) -> Drain<'_, T> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:47:34
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn resource<T: Resource>(&self) -> Ref<T> {
[INFO] [stdout]    |                                  ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn resource<T: Resource>(&self) -> Ref<'_, T> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn resource_mut<T: Resource>(&self) -> RefMut<T> {
[INFO] [stdout]    |                                      ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn resource_mut<T: Resource>(&self) -> RefMut<'_, T> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn entities(&self) -> Read<Entities> {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn entities(&self) -> Read<'_, Entities> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn entities_mut(&self) -> RefMut<Entities> {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn entities_mut(&self) -> RefMut<'_, Entities> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn lazy(&self) -> Read<Lazy> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn lazy(&self) -> Read<'_, Lazy> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn component<T: Component>(&self) -> ReadStorage<T> {
[INFO] [stdout]    |                                    ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn component<T: Component>(&self) -> ReadStorage<'_, T> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:75:40
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn component_mut<T: Component>(&self) -> WriteStorage<T> {
[INFO] [stdout]    |                                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn component_mut<T: Component>(&self) -> WriteStorage<'_, T> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:79:26
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn create_entity(&mut self) -> EntityBuilder {
[INFO] [stdout]    |                          ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn create_entity(&mut self) -> EntityBuilder<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world/lazy.rs:247:26
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn create_entity(&self, world: &World) -> LazyBuilder {
[INFO] [stdout]     |                          ^^^^^                    ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn create_entity(&self, world: &World) -> LazyBuilder<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/dispatcher/mod.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn set(&mut self, world: &World) -> WorldGuard {
[INFO] [stdout]    |            ^^^^^^^^^                    ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn set(&mut self, world: &World) -> WorldGuard<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/entity/entities.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn create_iter(&self) -> CreateIterAtomic {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn create_iter(&self) -> CreateIterAtomic<'_> {
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/entity/entities.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn build_entity(&self) -> AtomicBuilder {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn build_entity(&self) -> AtomicBuilder<'_> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resource/cell.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn borrow(&self) -> Ref<T> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn borrow(&self) -> Ref<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resource/cell.rs:60:23
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn try_borrow(&self) -> Option<Ref<T>> {
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn try_borrow(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resource/cell.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn borrow_mut(&self) -> RefMut<T> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn borrow_mut(&self) -> RefMut<'_, T> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resource/cell.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn try_borrow_mut(&self) -> Option<RefMut<T>> {
[INFO] [stdout]    |                           ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn try_borrow_mut(&self) -> Option<RefMut<'_, T>> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resource/resources.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn entry<R>(&mut self) -> Entry<R>
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn entry<R>(&mut self) -> Entry<'_, R>
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource/resources.rs:130:22
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn borrow<R>(&self) -> Ref<R>
[INFO] [stdout]     |                      ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn borrow<R>(&self) -> Ref<'_, R>
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource/resources.rs:139:26
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn try_borrow<R>(&self) -> Option<Ref<R>>
[INFO] [stdout]     |                          ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn try_borrow<R>(&self) -> Option<Ref<'_, R>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource/resources.rs:157:26
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn borrow_mut<R>(&self) -> RefMut<R>
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn borrow_mut<R>(&self) -> RefMut<'_, R>
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource/resources.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn try_borrow_mut<R>(&self) -> Option<RefMut<R>>
[INFO] [stdout]     |                              ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn try_borrow_mut<R>(&self) -> Option<RefMut<'_, R>>
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/storage_wrapper.rs:138:18
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn drain(&mut self) -> Drain<T> {
[INFO] [stdout]     |                  ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn drain(&mut self) -> Drain<'_, T> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:47:34
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn resource<T: Resource>(&self) -> Ref<T> {
[INFO] [stdout]    |                                  ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn resource<T: Resource>(&self) -> Ref<'_, T> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn resource_mut<T: Resource>(&self) -> RefMut<T> {
[INFO] [stdout]    |                                      ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn resource_mut<T: Resource>(&self) -> RefMut<'_, T> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn entities(&self) -> Read<Entities> {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn entities(&self) -> Read<'_, Entities> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn entities_mut(&self) -> RefMut<Entities> {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn entities_mut(&self) -> RefMut<'_, Entities> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn lazy(&self) -> Read<Lazy> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn lazy(&self) -> Read<'_, Lazy> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn component<T: Component>(&self) -> ReadStorage<T> {
[INFO] [stdout]    |                                    ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn component<T: Component>(&self) -> ReadStorage<'_, T> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:75:40
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn component_mut<T: Component>(&self) -> WriteStorage<T> {
[INFO] [stdout]    |                                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn component_mut<T: Component>(&self) -> WriteStorage<'_, T> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/mod.rs:79:26
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn create_entity(&mut self) -> EntityBuilder {
[INFO] [stdout]    |                          ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn create_entity(&mut self) -> EntityBuilder<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world/lazy.rs:247:26
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn create_entity(&self, world: &World) -> LazyBuilder {
[INFO] [stdout]     |                          ^^^^^                    ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn create_entity(&self, world: &World) -> LazyBuilder<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.09s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   tokio v0.3.7 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]     Checking async-ecs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/storage/vec_storage.rs (5 fixes)
[INFO] [stderr]        Fixed src/join/maybe.rs (2 fixes)
[INFO] [stderr]        Fixed src/storage/mod.rs (1 fix)
[INFO] [stderr]        Fixed src/storage/dense_vec_storage.rs (4 fixes)
[INFO] [stderr]        Fixed src/storage/storage_wrapper.rs (2 fixes)
[INFO] [stderr]        Fixed src/join/impls.rs (6 fixes)
[INFO] [stderr]        Fixed src/entity/entities.rs (7 fixes)
[INFO] [stderr]        Fixed src/world/meta.rs (2 fixes)
[INFO] [stderr]        Fixed src/resource/cell.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/dispatcher/task.rs:77:38
[INFO] [stdout]    |
[INFO] [stdout] 77 |             match receiver.changed().await {
[INFO] [stdout]    |                   -------------------^^^^^
[INFO] [stdout]    |                   |                  |
[INFO] [stdout]    |                   |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                   |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                   `__awaitee` calls a custom destructor
[INFO] [stdout]    |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 81 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/dispatcher/task.rs:101:38
[INFO] [stdout]     |
[INFO] [stdout] 101 |             match receiver.changed().await {
[INFO] [stdout]     |                   -------------------^^^^^
[INFO] [stdout]     |                   |                  |
[INFO] [stdout]     |                   |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 105 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 106 |
[INFO] [stdout] 107 |         run.run(&world).await;
[INFO] [stdout]     |         ---------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/dispatcher/mod.rs:56:38
[INFO] [stdout]    |
[INFO] [stdout] 56 |             match receiver.changed().await {
[INFO] [stdout]    |                   -------------------^^^^^
[INFO] [stdout]    |                   |                  |
[INFO] [stdout]    |                   |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                   |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                   `__awaitee` calls a custom destructor
[INFO] [stdout]    |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 60 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/world/lazy.rs:255:34
[INFO] [stdout]     |
[INFO] [stdout] 255 |         while let Some(update) = self.queue.pop() {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |         |
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `update` calls a custom destructor
[INFO] [stdout]     |                        `update` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 258 |                 LazyUpdate::Async(update) => update(world).await,
[INFO] [stdout]     |                                              -------------------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 259 |             }
[INFO] [stdout] 260 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `update` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 57 | define_tuple_join! { A }
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 58 | define_tuple_join! { A, B }
[INFO] [stdout]    | --------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 59 | define_tuple_join! { A, B, C }
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 60 | define_tuple_join! { A, B, C, D }
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 61 | define_tuple_join! { A, B, C, D, E }
[INFO] [stdout]    | ------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 62 | define_tuple_join! { A, B, C, D, E, F }
[INFO] [stdout]    | --------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 63 | define_tuple_join! { A, B, C, D, E, F, G }
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 64 | define_tuple_join! { A, B, C, D, E, F, G, H }
[INFO] [stdout]    | --------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 65 | define_tuple_join! { A, B, C, D, E, F, G, H, I }
[INFO] [stdout]    | ------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 66 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J }
[INFO] [stdout]    | --------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 67 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K }
[INFO] [stdout]    | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 68 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L }
[INFO] [stdout]    | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 69 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M }
[INFO] [stdout]    | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 70 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N }
[INFO] [stdout]    | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 71 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O }
[INFO] [stdout]    | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 72 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P }
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/dispatcher/task.rs:77:38
[INFO] [stdout]    |
[INFO] [stdout] 77 |             match receiver.changed().await {
[INFO] [stdout]    |                   -------------------^^^^^
[INFO] [stdout]    |                   |                  |
[INFO] [stdout]    |                   |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                   |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                   `__awaitee` calls a custom destructor
[INFO] [stdout]    |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 81 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/dispatcher/task.rs:101:38
[INFO] [stdout]     |
[INFO] [stdout] 101 |             match receiver.changed().await {
[INFO] [stdout]     |                   -------------------^^^^^
[INFO] [stdout]     |                   |                  |
[INFO] [stdout]     |                   |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 105 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 106 |
[INFO] [stdout] 107 |         run.run(&world).await;
[INFO] [stdout]     |         ---------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/dispatcher/mod.rs:56:38
[INFO] [stdout]    |
[INFO] [stdout] 56 |             match receiver.changed().await {
[INFO] [stdout]    |                   -------------------^^^^^
[INFO] [stdout]    |                   |                  |
[INFO] [stdout]    |                   |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                   |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                   `__awaitee` calls a custom destructor
[INFO] [stdout]    |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 60 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/world/lazy.rs:255:34
[INFO] [stdout]     |
[INFO] [stdout] 255 |         while let Some(update) = self.queue.pop() {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |         |
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `update` calls a custom destructor
[INFO] [stdout]     |                        `update` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 258 |                 LazyUpdate::Async(update) => update(world).await,
[INFO] [stdout]     |                                              -------------------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 259 |             }
[INFO] [stdout] 260 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `update` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 57 | define_tuple_join! { A }
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 58 | define_tuple_join! { A, B }
[INFO] [stdout]    | --------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 59 | define_tuple_join! { A, B, C }
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 60 | define_tuple_join! { A, B, C, D }
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 61 | define_tuple_join! { A, B, C, D, E }
[INFO] [stdout]    | ------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 62 | define_tuple_join! { A, B, C, D, E, F }
[INFO] [stdout]    | --------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 63 | define_tuple_join! { A, B, C, D, E, F, G }
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 64 | define_tuple_join! { A, B, C, D, E, F, G, H }
[INFO] [stdout]    | --------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 65 | define_tuple_join! { A, B, C, D, E, F, G, H, I }
[INFO] [stdout]    | ------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 66 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J }
[INFO] [stdout]    | --------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 67 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K }
[INFO] [stdout]    | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 68 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L }
[INFO] [stdout]    | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 69 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M }
[INFO] [stdout]    | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 70 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N }
[INFO] [stdout]    | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 71 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O }
[INFO] [stdout]    | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 72 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P }
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.28s
[INFO] [stderr] crater-edition-check: async-ecs v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking async-ecs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/resource/cell.rs:122:26
[INFO] [stdout]     |
[INFO] [stdout] 122 |             if self.flag.compare_and_swap(val, val + 1, Ordering::AcqRel) == val {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/resource/cell.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |         self.flag.compare_and_swap(0, usize::MAX, Ordering::AcqRel) == 0
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/resource/cell.rs:122:26
[INFO] [stdout]     |
[INFO] [stdout] 122 |             if self.flag.compare_and_swap(val, val + 1, Ordering::AcqRel) == val {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/resource/cell.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |         self.flag.compare_and_swap(0, usize::MAX, Ordering::AcqRel) == 0
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 57 | define_tuple_join! { A }
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 58 | define_tuple_join! { A, B }
[INFO] [stdout]    | --------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 59 | define_tuple_join! { A, B, C }
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 60 | define_tuple_join! { A, B, C, D }
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 61 | define_tuple_join! { A, B, C, D, E }
[INFO] [stdout]    | ------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 62 | define_tuple_join! { A, B, C, D, E, F }
[INFO] [stdout]    | --------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 63 | define_tuple_join! { A, B, C, D, E, F, G }
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 64 | define_tuple_join! { A, B, C, D, E, F, G, H }
[INFO] [stdout]    | --------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 65 | define_tuple_join! { A, B, C, D, E, F, G, H, I }
[INFO] [stdout]    | ------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 66 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J }
[INFO] [stdout]    | --------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 67 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K }
[INFO] [stdout]    | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 68 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L }
[INFO] [stdout]    | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 69 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M }
[INFO] [stdout]    | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 70 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N }
[INFO] [stdout]    | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 71 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O }
[INFO] [stdout]    | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 72 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P }
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 57 | define_tuple_join! { A }
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 58 | define_tuple_join! { A, B }
[INFO] [stdout]    | --------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 59 | define_tuple_join! { A, B, C }
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 60 | define_tuple_join! { A, B, C, D }
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 61 | define_tuple_join! { A, B, C, D, E }
[INFO] [stdout]    | ------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 62 | define_tuple_join! { A, B, C, D, E, F }
[INFO] [stdout]    | --------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 63 | define_tuple_join! { A, B, C, D, E, F, G }
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 64 | define_tuple_join! { A, B, C, D, E, F, G, H }
[INFO] [stdout]    | --------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 65 | define_tuple_join! { A, B, C, D, E, F, G, H, I }
[INFO] [stdout]    | ------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 66 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J }
[INFO] [stdout]    | --------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 67 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K }
[INFO] [stdout]    | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 68 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L }
[INFO] [stdout]    | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 69 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M }
[INFO] [stdout]    | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 70 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N }
[INFO] [stdout]    | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 71 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O }
[INFO] [stdout]    | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/join/impls.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout]    |                        occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 72 | define_tuple_join! { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P }
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `define_tuple_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let &mut ($(ref mut $from,)*) = v;
[INFO] [stdout]    |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `async-ecs` (lib) due to 16 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `async-ecs` (lib test) due to 16 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "bf70bb12122ba3af4b9f7704732bb106c5a7ca6fbc81ccb506feb7a1e465109c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf70bb12122ba3af4b9f7704732bb106c5a7ca6fbc81ccb506feb7a1e465109c", kill_on_drop: false }`
[INFO] [stdout] bf70bb12122ba3af4b9f7704732bb106c5a7ca6fbc81ccb506feb7a1e465109c
